//
//  NSDate+Extension.swift
//  MyWeibo
//
//  Created by apple on 16/4/19.
//  Copyright © 2016年 Apengpeng. All rights reserved.
//

import Foundation

extension NSDate {
    
    class func sinaDate(dateString: String) -> NSDate? {
    // 对新浪的时间字符串转化
        // 指定格式
        df.dateFormat = "EEE MMM dd HH:mm:ss zzz yyyy"
        // 指定区域
        df.locale = NSLocale(localeIdentifier: "en")
        let sinaTimeDate = df.dateFromString(dateString)
        
        return sinaTimeDate
    }
    
    /*
    刚刚(一分钟内)
    X分钟前(一小时内)
    X小时前(当天)
    ---------------------------------------------
    昨天 HH:mm(昨天)
    MM-dd HH:mm(一年内)
    yyyy-MM-dd HH:mm(更早期)
    NSCelander  日历对象  提供了非常丰富的日期处理函数
    */

    
    func fullDescription() ->String {
        // 获取当前日历
        let calendar = NSCalendar.currentCalendar()
        //判断是否在当天
        if calendar.isDateInToday(self) {
            // 间隔 . self 指的是当前的date对象
            let delta = Int(NSDate().timeIntervalSinceDate(self))
            if delta < 60 {
                return "刚刚"
            } else if delta < 60 * 60 {
                return ("\(delta / 60)分钟前")
            } else {
                return ("\(delta / 3600)小时前")
            }
        } else { // 昨天,
            // 指定格式
            let comman = "HH:mm"
            if calendar.isDateInYesterday(self) {
                // 显示格式为
                df.dateFormat = "昨天" + comman
            } else { // 不是昨天, 更久的时间,
                // 比较当前的日期和传过来的日期对象,
                let compareResult = calendar.components(.Year, fromDate: self, toDate: NSDate(), options: [])
                if compareResult.year == 0 {
                    
                    // 当年
                    df.dateFormat = "MM-dd" + comman
                } else {
                    df.dateFormat = "yyyy-MM-dd" + comman
                }
            }
            
            let str = df.stringFromDate(self)
            return str
        }
    }
}